Systems and methods for broadcasting information over an AC power network

ABSTRACT

A receiving device and business methods to affect the private transmission of remote control messages and the synchronization of date and time to electrical appliances connected to the AC power grid.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of a U.S. application entitled “System and Method for Transmitting Control Information Over an AC Power Network,” filed on Oct. 27, 2004, having a preliminary Ser. No. 10/974,637 ('637 Patent Application), which claims the benefit of the priority date of European patent application number 03026995.5, filed on Nov. 26, 2003. The disclosures of both applications are incorporated herein by reference.

TECHNICAL FIELD

The invention relates in general to the power industry, and in particular to sending information to appliances through an AC power network.

BACKGROUND INFORMATION

People in a rush to leave home often forget to set appliances and the environmental controls for their home. For example, when people are sitting in their car stuck in traffic or sitting at the airport waiting to leave on a trip, they might ask questions like: Did I turn the alarm system on? Did I remember to turn the heating up, down, on or off? Did I ask the refrigerator to send in the restocking order next week before we return? Did I set the VCR to record my favorite show? In these situations, what is needed is a system or method to remotely send control messages to these appliances.

Furthermore, many electric appliances, such as clock radios, VCRs, personal digital recorders, rely on a clock setting. When the electricity is interrupted, it is often necessary to manually reset these devices. If there are several appliances, this becomes a time-consuming and tedious process.

Currently, there are a few appliances designed to communicate with home networks. However, these appliances must use wired or wireless network cards or other interfaces which are relatively expensive. If wired cards are used, network cabling must be provided. Furthermore, setting up such home networks is beyond the technical capability of many home users.

Typically home networks access the Internet through DSL or cable modems provided by an Internet access company such as a phone or cable provider. Some power companies have experimented with providing Internet access to home computers and networks through a power network. However, such networks are fraught with problems. Electricity companies design their power distribution networks to accommodate large amounts of composite noise generated by almost all electrical appliances and devices attached to the network. The design characteristics of network transformers, switches, lines and other components is therefore such so as to restrict and inhibit the transmission of analog frequencies back up through the high voltage feeder circuits providing distribution of electrical energy through neighborhood transformers. Wherein such analog signaling frequencies represent a digital data stream attempts have been made to use Spread Spectrum Devices that would bridge over common harmonics of the power frequency itself. Such devices are expensive. Additionally, in an attempt to provide Internet or other bidirectional communications in a high voltage network unable generally to complete a return pathway without using an alternate media or pathway that is not part of the power network.

What is needed, therefore, is a simple, inexpensive and secure process to remotely provide information to home appliances or systems.

SUMMARY

In response to these and other problems, systems and methods are disclosed which use a transmitter operated by a power utility company which can broadcast a signal through the power lines. Also disclosed are systems and methods which use a signal receiving device in communication with a power supply unit of an appliance. The receiving device is capable of receiving signals from a transmitter that may be part of a high voltage feeder circuit. In some embodiments, the received signals may be control instructions. In other embodiments, the signals may represent time or date data which will allow a controller of a clock in the appliance to automatically synchronize and adjust its time.

Using certain aspects of the disclosed embodiments, power companies may accept requests (via the phone or the Internet) from end users, then broadcast the appropriate signal to the appropriate appliance. Power companies can offer this service for a fee or as an inducement to switch power company providers. Thus, a user could remotely control or affect an appliance from another location. For instance, an end-user could make a single free call to their local power provider, identify themselves in a predetermined manner and request that commands or data be sent to their appliance. For example, an end-user at an airport could request that their thermostat be set to 80 degrees F. while they are away on a summer vacation. Another user could request that their personal video recorder record their favorite television show from a remote location while they are away.

These and other features, and advantages, will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings. It is important to note the drawings are not intended to represent the only aspect of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional diagram of a system incorporating certain aspects of the present invention.

FIG. 2 is a functional block diagram of a receiving device incorporating certain aspects of the present invention.

FIG. 3 is an alternative embodiment of receiving device incorporating certain aspects of the present invention.

FIG. 4 is an alternative embodiment of receiving device incorporating certain aspects of the present invention.

FIG. 5 is another alternative embodiment of receiving device incorporating certain aspects of the present invention.

FIG. 6 is flow chart of one embodiment of a method for validating encrypted control message.

FIG. 7 is one embodiment of a business method incorporating certain aspects of the present invention.

FIG. 8 is a flow chart for one embodiment of a method for prioritizing requests that may be incorporated into certain aspects of the present invention.

DETAILED DESCRIPTION

For the purposes of promoting an understanding of the principles of the present inventions, reference will now be made to certain aspects, or examples, illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended. Any alterations and further modifications in the described embodiments, and any further applications of the principles of the inventions as described herein are contemplated as would normally occur to one skilled in the art to which the invention relates.

Specific examples of components, signals, messages, protocols, and arrangements are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to limit the invention from that described in the claims. Well-known elements are presented without detailed description in order not to obscure the present invention in unnecessary detail. For the most part, details unnecessary to obtain a complete understanding of the present invention have been omitted inasmuch as such details are within the skills of persons of ordinary skill in the relevant art. Details regarding control circuitry described herein are omitted, as such control circuits are within the skills of persons of ordinary skill in the relevant art.

Turning now to FIG. 1, there is presented one embodiment of a system 100 which incorporates certain aspects of the present invention. In one embodiment, there is a transmitting device 101 which constructs the contents of, and if necessary, synchronizes the timing for transmission of digital messages. The transmitting device 101 may be located at a substation or another appropriate location. It may have numerous processes which are each dedicated to a specific task including: generating and scheduling signals; coordinating security; and connecting to an operator, a machine to machine interface and/or a telephone receptionist. The transmitting device 101 passes constructed messages to a signal injector 102. The signal injector 102 constructs a waveform to represent message, amplifies and injects the signal into a high voltage power grid via a matching transformer or similar device to match the characteristics of a high voltage transmission line 104 which is coupled to an AC power distribution or reticulation network 106.

The reticulation network 106 may contain: a high voltage distribution side containing the power distribution components for a finite geographic area and a finite set of customers; and a neighborhood AC power distribution system which is interconnected via the network. The reticulation network 106 may contain lines, transformers, switches, sub stations and other equipment and locations aiding in the management and distribution of electricity to neighborhood level typically of 110 volts phase to neutral at 60 Hz. The distributed electricity is typically reduced to an end use voltage level (e.g., 110/220 volts) via a pole mounted or pad-mounted distribution transformer (not shown). Electricity and the injected signal may be delivered to residential customers through a service drop line 108 which typically leads from the distribution pole transformer (not shown) through the customer's structure to an appliance 110, which may be connected to the power system in a conventional manner. The system 100, therefore, may be able to send signals via the signal injector 102 to anywhere within the physical locations served by the reticulation network 106. As will be explained in detail below, the signals may then be received by a receiving device 120 located in the appliance 110.

The appliance 110 may be any electrical or electronic device typically used in the home or office. The appliance has a power supply 111. The power supply 111 supplies either an AC or DC current 112 to the appliance 110 in a conventional manner. In some embodiments, there is the receiving device 120 either embedded in, coupled to, or in communication with the power supply 111 which is adapted to detect and receive the signal injected from the signal injector 102.

Other circuits and components, such as optical isolation and line input anti-noise filtering and circuit fabrication using, for instance, non-silicon based components and high voltage ceramic wafer circuit boards adapted to withstand the supply voltage may be incorporated into the power supply 111, but are not shown for purposes of clarity. However, such circuits and components for isolation and protection of appliance receiving device and power supply are considered to be within the general knowledge of those skilled in the art.

In certain embodiments, the receiving device 120 demodulates data and screens contained in the injected signal and may pass a digital sequence to a processor in the appliance. For instance, if the signal contains serial time or date data, the digital sequence will be sent via pathway 115 to a driving clock or embedded time display controller. In other aspects, the signal may contain control instructions which will be sent via pathway 116 to an embedded logic appliance controller 156. Thus, the receiving device 120 can function as agent on behalf of end-user to forward remote control instruction to the logic contained in the appliance controller 156 as may be implemented by the manufacturer.

In some embodiments, the injected signal may be a Date/Time signal. Such signals may include a synchronized date and time message synchronizing a stable clock source (such as an atomic clock source) where the transmitting device 101 formats and schedules the transmissions so that the receiving device 120 upon receiving the last bit of such time string has received implicitly a sub-second reference for synchronization of time pulse contained within the time message received.

The transmitting device 101 may synchronize its time from an atomic clock source and may calculate the time difference between the source of atomic clock and transmitting device. The transmitting device 101 may then reserve a future slice of the injector to transmit a time message and then constructs the actual message to include a time string for that time and then based on the bits contained therein to modify the start time such that for example the trailing edge of the last bit of the indicated time occurs a finite number of milliseconds after receipt of the last bit of the message. This design allows the system to be dynamic of its date time signaling rate.

In other aspects, messages received by the transmitting device 101 may be end-user requests to remotely control the affected appliance. For example, an end-user might remember that he left the coffee maker on. So, an example request would be to simply “turn off” the appliance. The transmitting device 101 would take this request and construct a “control instruction” or “control message” which will be broadcast via the reticulation network 106 to the specific appliance. An end-user may initiate the request by a variety of techniques, including for example: by a telephone call, a computer program interface, or via the Internet. After the request is received, a call center operator or program may add the request as a job to a queue of messages to be sent.

In certain embodiments, the messages sent via the injector 102 are sent at low speeds or frequencies (e.g., below 700 hz). For instance, the messages may be sent at 167 hz. Industry standard protocols (TCP or IP) might not work at such low frequencies. Consequently, in one embodiment of this invention, new waveform shapes are used to describe a logic 0 and a logic 1. Such measures are desirable to increase the efficiency of the transmission. As explained more fully in the '637 patent application, an isochronous or variable mark to space or logic 1 to logic 0 ratio is designed to minimize insertion delay and for example a binary coded decimal or BCD format may be used such that it would be suitable for directly connecting to a new function of the 7 segment controller of a clock or other appliance displaying time. Transmission of remote control instructions may also be interleaved with the date and time messages.

One embodiment of the receiving device 120 is illustrated in FIG. 2. In this embodiment signals are received which synchronize time and date and time-zone data with a clock controller, a time display controller 155, or another processor located in the attached appliance 110.

As illustrated, the receiving device 120 receives a low voltage AC signal via the power supply 111 (FIG. 1). For purposes of this application, the low voltage AC comprises the primary frequency of the AC Power grid, for example 60 Hz, and all interferences and harmonics thereof. The low voltage AC signal also includes the signal multiplexed together by the signal injector 102 which includes separate low frequency (e.g. 167 Hz) and few harmonics thereof for example three. The signal, however, may also have a reduced amplitude (e.g., 20 VRMS, or even 4.7 VRMS).

A date or time string within the low voltage AC signal may be referenced or located by introducing a pulse of a distinct frequency or “preamble” which acts as a signal that a data string is following. For example, the presence of at least one and one half cycles of the third and fifth harmonic of signaling frequency may constitute a preamble signal to indicate that a fixed length date or time message follows. Messages with any other preamble may be ignored or routed as described below.

Turning back to FIG. 2, the low voltage AC signal 109 may be passed to a line impulse anti-noise filter 221 which removes power distribution frequency 60 Hz and voltage spikes and harmonics and energies thereof and frequencies above a predetermined harmonic, such as the fifth harmonic of signaling frequency or other unrelated frequencies (e.g., anything above 2000 Hz). The filtered signal is then passed to a signal demodulation unit 223. In certain embodiments, the signal demodulation unit 223 comprises a frequency detection unit 222 and a logic detection unit 224. The frequency detection unit 222 processes the filtered signal and outputs specific frequencies which may be being harmonics of signaling frequency or related to transmission. The signal may then be sent to the signal logic detection unit 224 which detects relationships between frequencies represented as logic bits to identify the preamble to a date/time data string. Upon detecting the preamble condition, the signal logic detection unit 224 may then read the data string in the signal and output a date or time string.

Signal out 250 may include a timing pulse corresponding to detection of each logic bit as well as the logic bit detected. The date and time stamp as a specific string of data bits and the timing contained from the signal logic detection unit 224 may then be passed to an optical isolation unit 228 whereafter it may be reformatted according to an appliance input signal 252 which may comprise the device logic, timing, and reference voltages. The receiving device 120 may use the device logic, timing and reference voltages to adjust its own output signal 250 so as to be at a voltage or in a form that is compatible with the clock controller of the appliance 110.

For example, in one embodiment where the receiving device 120 is directly connected to a clock controller then the rising edge of a logic bit will coincide with a timing pulse and allow clock controller to latch valid data bit on serial data out 250 based on for example the voltage detected on the timing pulse output with each data bit and therefore not requiring extensive line interface circuitry or additional voltage levels to be used in clock logic. Thus, the output signal 250 may be directly connected to, for example, an embedded 7 segment display logic chip in a clock controller.

Turning now to FIG. 3, there is illustrated an alternative embodiment of a receiving device 120. In this alternative embodiment, the receiving device 120 may be a relatively simple analog signal demodulation unit 300. The line impulse anti-noise filter 221 receives the low voltage AC signal 109. The line impulse anti-noise filter 221 removes the power distribution frequency 60 Hz and voltage spikes and harmonics and energies and frequencies as previously discussed. The filtered signal may then passed through multiple paths simultaneously to a series of notch filters 310 a-310 c. Each notch filter 310 a-310 c is set to one and only one specific frequency wherein each frequency represents a harmonic of a specific signaling frequency in the time/date signal. Thus, only the time/date data signal passes through the notch filters.

The time/date signals are then sent to a digitization logic unit 314, which digitizes each signal according to the phase and amplitude of said frequency by discrete digitization logic. The digital signals are then sent to digital logic or PAL device 318 which outputs a data output signal 350 comprised of a logic ‘1’ ONE or a logic ‘0’ ZERO based on fixed relationships between each frequency and the phase. A timing pulse 319 may also be output in relation to the onset of each bit detected in accordance with signal, timing, and reference voltage in the appliance input signal 252.

The embodiment of a demodulation device 300 as illustrated in FIG. 3 uses analog techniques to demodulate and identify the time/date signals. However, in alternative embodiments, digital techniques may also be employed. As will be described in detail later, FIG. 5 illustrates one possible digital implementation of receiving device wherein all the functions of the frequency detection units and signal logic detection units could be performed digitally using software and/or an analog to digital converter or a DSP device and Information retrieval Unit 527. Although the embodiment in FIG. 5 is discussed in reference to control messages, one skilled in the art would also recognize that a similar embodiment could also produce date/time output signals.

A second embodiment of a receiving device will now be described. In this second embodiment receiving device 120 (FIG. 1) may receive remote control instructions for the appliance 110 (FIG. 1). For brevity and clarity, a description of those parts which are identical or similar to those described in connection with previous embodiments will not be repeated here. Reference should be made to the foregoing paragraphs to arrive at a complete understanding of this second embodiment.

Turning now to FIG. 4, there is illustrated a functional block diagram of an alternative receiving device 400. The receiving device 400 receives a low voltage AC signal 109 from the power supply 111 (FIG. 1). In some embodiments, a line impulse anti-noise filter 221 may be used to filter the AC signal 109 as previously discussed. In certain embodiments, a ceramic wafer or non silicon based fabrication may also be used in combination with or apart from the filter 221 in the input stages to protect the receiving device from potentials and spikes of the AC signal 109. Such fabrication may be used to protect attached digital devices and power supply and give a floating ground reference potential to protect the components of receiving device or appliance from damage by the reticulation network 106 (FIG. 1).

The filtered power signal is then demodulated by a demodulator unit 223. In this embodiment, the demodulator unit 223 comprises a frequency detector 222, a signal logic detector 224, and a microprocessor controller 426. The frequency detection unit 222 process the filtered signal and outputs specific frequencies. These frequencies are then sent to a signal logic detection unit 224 which detects relationships between frequencies represented as logic bits to determine a preamble condition which identifies a following control instruction data string. Upon detecting the preamble condition, the signal logic detection unit 224 may then read the data string in the signal and output a data string to the microprocessor controller 426. The data output of signal logic detector 224 in this embodiment may also include the type of the message received (e.g., time/date or control instruction). The output signal is then passed to the microprocessor controller 426 and an information retrieval unit 427. In certain embodiments, the information retrieval unit applies processes to identify itself and/or its attached appliance as the intended recipient of the remote control message. Once it is confirmed that the control message is intended for the appliance, a validated message is passed to the optical isolation unit 228 where it may be subsequently reformatted according to the device logic timing and reference voltages 525 as provided by appliance. The receiving device 400 may use the device logic, timing and reference voltages to adjust its own output signal 450 so as to be at a voltage or in a form that is compatible with a appliance controller of the appliance 110.

Turning now to FIG. 5, there is another alternative embodiment for a receiving device 500. As previously discussed, the low voltage AC input 109 is input to a line impulse anti-noise filter for the purpose of removing noise and power frequencies. The filtered signal is then passed to an optical isolation unit 510 which then sends the signal to a device 521. In some embodiments, the device 521 may be an analog-to-digital (A/D) converter. In other embodiments, the device 521 may be a digital signal processor (DSP) or a combination of a A/D converter and DSP. In this example embodiment, the function of the device 521 is initially to provide signal demodulation which comprises the functions of frequency detection and signal logic detection.

In embodiments where the device 521 performs only analog to digital conversion or where connection to a data bus 522 is directly from signal logic detection, further processing or routing of message may occur in an information retrieval unit IRU 527 using a microprocessor 524, a memory 525 and software 526. Where data in the received signal is a remote control instruction, a cryptography unit 528 may be employed to decrypt the message. The cryptography unit 528 may use a private key, serial number and knowledge of classification of attached appliance to identify itself as intended recipient of message and furthermore may validate unaltered contents of said remote control message and forward the control messages to the appliance controller via the data bus 522.

On the other hand, in embodiments where the device 521 has a DSP unit, the DSP unit may be able to detect logical bits based on specific frequencies and a preamble for digital transmission that identifies the data type as date/time. If the message is a date/time signal, no further processing is required. So, the DSP can send the date/time signal directly via data bus 522 which can then be received by the appliance controller (not shown).

FIG. 6 illustrates one method 600 which may be used in decrypting, processing and authenticating a remote control instruction sent to a particular appliance.

In step 601, a control instruction message is received. In certain embodiments, the control instruction message has an unencrypted field indicating the classification of the message (e.g., a Control-ID field).

In step 603, the process may determine if the Control-ID field matches that of the attached appliance. If yes, then in step 604, the information retrieval unit 427 or 527 (FIGS. 4 an 5) may apply its own local encryption key to attempt decryption of the message using its local encryption key. In step 605, the unencrypted message format may be checked. The message may be decrypted to a format comprising specific ASCII and binary values in pre-defined positions within the message if the particularly receiving device is the correct recipient of remote control instruction. A message digest checksum may included therein and calculated.

In step 606, the checksum may be then used to determine the message is unencrypted correctly and unaltered, if yes, the process moves to step 607. If not, an invalid format or message digest value indicates that the control message is ‘not addressed to me’ and the process flows to step 609. In step 609, a counter may be incremented to log the event. The information retrieval unit 427 may be reset to wait for another control message.

In step 607, an encapsulated identification number (e.g., a product serial number) in the data field of unencrypted remote control instruction is compared to an identification number (e.g., the actual serial number of appliance). If the identification numbers do not match, the process moves to step 602, where the event is logged and the information retrieval unit 427 may be reset to wait for another remote control message. On the other hand, if there is a match between the identification numbers, the process proceeds to step 608.

In step 608, the control instruction message is then sent to the appliance controller, which is programmed to act upon the message. In certain embodiments, the message is logged.

In FIG. 7, there is illustrated one embodiment of a method of doing business using some of the systems and methods previously discussed. In step 701, a power utility company might receive an end-user request to establish an account. The account may entitle the end-user to register specific appliances which may allow the end user to send remote control instructions to these appliances. The account may be offered free as an inducement to use the power company. In other situations, the end user may be charged on a monthly, subscription or per use basis. In some embodiments, an account establishment fee may be charged prior to first use in order to authorize payment and to set up at least one primary user and a security identifier, such as a password. In certain embodiments, there may be other users and passwords assigned, for instance, by primary user. Each user may have differing levels of authority to affect the operation of such appliances.

Once the account has been established, in step 702, the power company might receive a request from the end-user for a remote control instruction to be broadcast to a registered appliance.

In a third step 703, some verification may take place to affirm the identity of the end user (e.g., the username and password would be received). Once the end user has been identified, in step 704, the process may check permissions based on an internal specification established with primary user to allow or reject such request accordingly. Steps 703 and 704 may be part of a finite loop to accept requests and parameters specified by the primary end-user or utility company. For example, the primary user may be the only user in the household with permission to turn off the A/C system. Other users, however, might have only have permission to remotely adjust the temperature within a specific range.

Once the verification and authorization processes have been completed, the request may be classified as a “job” to be scheduled and placed in a queue (step 705). In some embodiments, the queue could work on a First-In-First-Out (FIFO) basis. In Step 706, the transmitting device 101 may then send the request to the appliance of interest as previous discussed. If applicable, in Step 707, the end-user Account may be debited by predetermined amount to pay for the request or expedited service.

Turning now to FIG. 8 a, there is present a method 800 which illustrates a priority selection process available to an end-user. Because of the low frequency of transmission and limited bandwidth of this system, there may not be capacity within the system to immediately broadcast the received requests. In fact, in certain embodiments, depending upon the number of requests, the queue length may be significant. Thus, in certain embodiments, an end-user could request an expedited service to jump ahead in the queue. Certain embodiments could use a “preemptive queuing” method to offer expedited services.

In step 802, a request from an end-user arrives at a call center or other appropriate venue for receiving customer requests. In embodiments, where preemptive queuing is employed, the end user may then be asked to select how the request should be scheduled based upon a fee they would be willing to pay. In step 804, an indication of regarding the type of priority is received from the customer. For instance, a customer could elect for their request to be queued based on a standard FIFO priority as illustrated by path 820. The customer may also elect to have the request scheduled “on-demand” so as to be placed at the front of the queue as illustrated by path 850, or the customer could elect to have their request given a pre-emptive queuing priority as illustrated by path 830.

In a First In First Out priority, a charge may be made to execute a job within an expected period of time (e.g., 30 minutes to 2 hours). In contrast, an “immediate” or “on-demand” priority places the request at the front of the queue. Consequently, there may be a high cost associated with an on-demand request. The pre-emptive queuing priority status is an intermediate type of priority for prioritizing requests in the queue.

In certain embodiments, when an end-user elects a pre-emptive queuing, he is authorizing a maximum payment for the worst case scenario of a much reduced maximum time to service their request but most likely end up paying a lot less than that amount and having their request serviced almost immediately. In other words, the end-user agrees before the job is scheduled to pay a premium over the amount in a FIFO priority, but less than they would have paid for an on-demand priority. In return they are bumped to the head of the standard request queue or to an equivalent maximum cost job.

Turning now to FIG. 8 b, there is illustrated a method for determining the cost of a job using a preemptive priority method. In step 891, a pre-emptive job request arrives, which may be represented by the variable: job(n). In step 892, a counter “n” may be set to the oldest FIFO job at the head of the queue (for example: n=1). In step 893, the cost of job(n) is calculated.

In certain embodiments, the cost of the job(n) may be calculated using the following equation: Cost-of-job(n)=fixed cost+Vc where:

-   -   fixed cost—is for the job (e.g. cost of a FIFO priority).     -   Vc—variable incremerital cost of the job which is a function of         the time that it has been in the queue.

In step 894, the cost-of-job(n) is checked against the maximum predetermined cost set for a preemptive priority job. If cost-of-job(n) exceeds the maximum predetermined cost, then the counter (n) is incremented in step 897 and process returns to step 893. On the other hand, if the cost-of-job(n) does not exceed maximum predetermined cost then the process flows to step 895. In step 895, the projected delay to execute is compared to a maximum acceptable wait time. If projected delay exceeds the maximum acceptable wait time, then in step 898 the end-user may be informed so that the end user can choose another payment type.

For example, if a FIFO priority remote control request costs $5 and will execute within 30 minutes and the same job on demand costs $20 then the cost of a job queued based on the number of jobs serviced per hour this figure equates to a maximum waiting time for priority preempting job to execute of approximately 10 minutes. The cost of a preemptive job may be, for instance, an additional $3 and an upper limit on the cost of a pre-emptive may be set, for instance, to $17 which equates to a guaranteed maximum waiting time not to exceed 10 minutes although it is expected that job will execute immediately or within a few minutes in the majority of cases.

In this example, one method of calculating the cost of each job(n) is as follows. Cost = $5 + $3 + 9/1200 × t(n) + $0.1 × n(b) where  t(x) = time  in  queue  in  seconds $\begin{matrix} {\begin{matrix} {{Cost}\quad{per}\quad{second}} \\ {{for}\quad{queued}\quad{jobs}} \end{matrix} = \frac{\left( {{{Max}\quad{Cost}_{{pre}\text{-}{emptive}}} - {{Min}\quad{Cost}_{{pre}\text{-}{emptive}}}} \right)}{\left( {{{Max}\quad{Time}_{{FIFO}\quad{Job}}} - {{Max}\quad{Time}_{{Preemptive}\quad{Job}}}} \right)\quad}} \\ {= \frac{\left( {17 - 8} \right)\quad({dollars})}{\left( {{30 \times 60} - {10 \times 60}} \right)\quad({seconds})}} \\ {= 0.0075} \end{matrix}\quad$ $\begin{matrix} {{{Cost}\quad{of}\quad a\quad{{job}(n)}\quad{in}\quad{queue}} = {{\$ 8} + {c(n)} + {{eg}\quad{\$ 0}{.2} \times {b(n)}}}} \\ {= {{\$ 8}\quad + {0.0075 \times {t(n)}} + {{\$ 0}{.2} \times {b(n)}}}} \end{matrix}$ Where t(n) = the  actual  time  job(n)  has  spent  in  queue c(n) = cost/second × t(n) b(n) = number  of  times  job(n)  has  been  bumped

The maximum execution time for a pre-emptive job and the additional cost for the number of times bumped prevents FIFO jobs being continually bumped and explains the presence of step 898 which applies in times of congestion where a customer is asked to chose ‘on demand’ service fees or wait in the normal FIFO queue with no added priority.

In the above example, a new preemptive request would not displace a single FIFO job (e.g., job(n)) that had spent more than 1200 seconds in queue or which had been bumped more than 45 times.

In the above example, when each time a job(n) is bumped, the process adds the equivalent of the job having spent an additional 26 seconds over and above the actual time in queue. The preemption charge of $3 is equivalent to a FIFO job(n) having spent an additional 400 seconds in queue. Thus, some examples described herein effectively apply an exponential cost as the queue approaches the point of congestion or blocking. In some applications, the program or operator receiving the job request may know if it is likely to be serviced within a predetermined time, for example 30 minutes.

Using the above equation, the following table may be constructed to illustrate how the cost of preemptive queuing might vary based on the time other jobs have been in the queue and the number of times other jobs have been preempted. TABLE 1 Time in Job Queue No-of times Number (seconds) ‘cost’ preempted N 51 $8.38 0 n-1 63 $8.67 1 2 367 $12.35 8 1 (next) 395 $12.96 10

The methods of pre-emptive queuing described herein may have other applications than in the systems and methods previously described in this application. Methods of pre-emption described herein are suitable to many commercial systems.

For example, a mail order system which has a fixed shipping capacity may use the concept of preemptive queuing. In such an example, a call would be received by a customer service center or a request received via a web server. The customer is normally asked to pay a shipping and handling or service fee for the order. Often there is some factor for which a customer would be prepared to pay a little more to have their request serviced faster. A cost is therefore associated with the amount of time the job next in line has spent waiting to be served. The cost may be charged for allowing the customer to use preemptive queuing or queue jumping so that their order would be expedited and placed before other orders in line to be shipped. This cost of preemptive queuing may be the basic shipping and handling charge plus a premium plus a pro-rata cost based on the amount of time the next in queue has spent waiting.

The operator of the queue may have the ability to set parameters on the system so that they can statistically offer an at least $x but no more than $y for the customer to have their order filled more quickly.

For example at a holiday time a mail-order or catalogue retailer may have a delay to ship of 1 or 2 days+the shipping option chosen by customer. Now customer to join this queue may have a Shipping and handling charge of $14. Especially when close to a cut off for the US Postal service or couriers customer to make sure their present arrives in time customer may agree to pay up to $30 to have their job serviced next. Next in line has been waiting 30 hours and company associates a cost of $50 to service their customer within 3 days, but 3 days is too late to catch the mail. So customer may agree to pay for example $20 S&H+a pro-rata amount based on a $20 cost the company asserts with having the next in line job wait 72 hours. So for 30 hours this is an additional cost of 30/72*20+$20 or $28.33 for the escalated cost of jumping the queue.

The abstract of the disclosure is provided for the sole reason of complying with the rules requiring an abstract, which will allow a searcher to quickly ascertain the subject matter of the technical disclosure of any patent issued from this disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.

Any advantages and benefits described may not apply to all embodiments of the invention. When the word “means” is recited in a claim element, Applicant intends for the claim element to fall under 35 USC 112, paragraph 6. Often a label of one or more words precedes the word “means”. The word or words preceding the word “means” is a label intended to ease referencing of claims elements and is not intended to convey a structural limitation. Such means-plus-function claims are intended to cover not only the structures described herein for performing the function and their structural equivalents, but also equivalent structures. For example, although a nail and a screw have different structures, they are equivalent structures since they both perform the function of fastening. Claims that do not use the word means are not intended to fall under 35 USC 112, paragraph 6. 

1. A method of fulfilling a request to remotely control an appliance receiving power from a power distribution network, the method comprising: receiving a request to control the appliance; generating a message receivable by a receiving device coupled to the power supply of the appliance; injecting the message into a distribution power network such that the message is received by the appliance, such that the appliance may act upon the message to fulfill the request.
 2. The method of claim 1 further comprising receiving payment for fulfilling the request.
 3. The method of claim 1 further comprising registering the appliance to establish a relationship between an identifier of the appliance and an end user.
 4. The method of claim 3 further comprising authenticating the request.
 5. The method of claim 3 further comprising encrypting the message such that the message is only decipherable by the receiving device coupled to the appliance with the identifier.
 6. The method of claim 1 further comprising establishing an account with an end user of the appliance.
 7. The method of claim 1 further comprising scheduling the request based on a first-in first-out priority basis.
 8. The method of claim 7 further comprising preempting the scheduling of the request based on predetermined events.
 9. The method of claim 1 wherein the receiving comprises receiving the request via a telephone initiated request.
 10. The method of claim 1 wherein the receiving comprises receiving the request via the internet or a computer initiated request.
 11. A method of remotely adjusting a clock embedded in an appliance receiving power from a power distribution network, the method comprising: determining a time for the clock; generating a message containing an indication of time, wherein the message is receivable by a receiving device coupled to the power supply of the appliance; injecting the message into a distribution power network such that the message is received by the appliance, so that the appliance may adjust the clock in accordance with the message.
 12. The method of claim 11 wherein the determining comprises retrieving the time from an atomic clock source.
 13. The method of claim 11 wherein the generating a message further comprises adjusting the indication of time for delay.
 14. The method of claim 12 wherein the delay is selected from the group consisting of synchronization, insertion, propagation and processing delays.
 15. The method of claim 11 further comprising receiving payment for generating the message to allow the appliance to adjust the clock.
 16. The method of claim 11 further comprising registering the appliance to establish a relationship between an identifier of the appliance and an end user. 